/*
 * @(#)New.java 0.0.1-SNAPSHOT
 * Copyright Group B
 */

package grupb.upf.XMLObjects;

import java.util.List;

/**
 * <p>The interface of the New objects.</p>
 *
 * @version    0.0.1-SNAPSHOT
 * @author     Group B
 */
public interface New {
    /**
     * Method to set the ID of the new.
     * @param id is the identificator, which is a unique number
     */
    void setID(int id);
    /**
     * Method to get the ID of the new.
     * @return the ID of the new
     */
    int getID();
    /**
     * Method to set the body of the new.
     * @param newBody the body of the new
     */
    void setBody(NewBody newBody);
    /**
     * Method to get the body of the new.
     * @return the body of the new
     */
    NewBody getBody();
    /**
     * Method to set the title of the new.
     * @param title the title of the new as an String
     */
    void setTitle(String title);
    /**
     * Method to get the title of the new.
     * @return the title of the new
     */
    String getTitle();
    /**
     * Method to set the subtitle of the new.
     * @param subtitle the subtitle of the new
     */
    void setSubtitle(String subtitle);
    /**
     * Method to get the subtitle of the new.
     * @return the subtitle of the new
     */
    String getSubtitle();
    /**
     * Method to set the source of the new.
     * @param source the source of the new
     */
    void setSource(String source);
    /**
     * Method to get the source of the new.
     * @return the source of the new
     */
    String getSource();
    /**
     * Method to set the date of creation of the new.
     * @param date as YYYYMMDD
     */
    void setDate(String date);
    /**
     * Method to get the date of the new.
     * @return the date as YYYYMMDD
     */
    String getDate();
    /**
     * Method to set the list of authors of the new.
     * @param authors the list of authors
     */
    void setAuthors(List authors);
    /**
     * Method to get the list of authors of the new.
     * @return the list of authors of the new
     */
    List getAuthors();
    /**
     * Method to relate predefined and personal tags with the new.
     * @param tags the object which contains predefined and personal tags
     */
    void setTags(Tagging tags);
    /**
     * Method to get the tags of the new as a Tagging object.
     * @return the tags of the new
     */
    Tagging getTags();
}
